
testOptimizations([
	
	['x = a() ? b : b',
		'x = (a(), b);'],
	
	['x = a() ? b() ? 1 : 2 : (b() ? 1 : 2)',
		'x = (a(), b() ? 1 : 2);'],
	
	['a() ? x = b : x = c',
		'x = a() ? b : c;'],
	
	['x(a() + b() ? true : false)',
		'x(!!(a() + b()));'],
	
	['x(a() ? true : false)',
		'x(!!a());'],
	
	['a() ? 1 : 2',
		'a();'],
	
	['a() ? b() : c()',
		'a() ? b() : c();'],
	
	['a() ? b() : 1',
		'a() && b();'],
	
	['a() ? 1 : c()',
		'!a() && c();'],
	
	['a ? 1 : 2',
		''],
	
	['a ? b(x1, y1) : b(x2, y2);',
		'a ? b(x1, y1) : b(x2, y2);'],
	
	['a ? b(x, y1) : b(x, y2);',
		'b(x, a ? y1 : y2);'],
	
	['a ? b(x, y1, z) : b(x, y2, z);',
		'b(x, a ? y1 : y2, z);'],
	
	['a ? b(x, y1, z1) : b(x, y2, z2);',
		'a ? b(x, y1, z1) : b(x, y2, z2);'],
	
	['a ? b(x, y) : b(x, y, z);',
		'a ? b(x, y) : b(x, y, z);']
	
]);
